package com.lekang.mapper;

import java.util.List;
import com.lekang.domain.AccraditationRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 审批记录Mapper接口
 * 
 * @author wjy
 * @date 2025-10-17
 */
@Mapper
public interface AccraditationRecordMapper 
{
    /**
     * 根据步骤编号和外键ID查询唯一审批记录
     * @param stepNo 步骤编号
     * @param checkContentId 外键ID
     * @return 唯一记录
     */
    public AccraditationRecord selectByStepNoAndCheckContentId(
            @Param("stepNo") Integer stepNo,
            @Param("checkContentId") Long checkContentId
    );
    /**
     * 查询审批记录
     * 
     * @param id 审批记录主键
     * @return 审批记录
     */
    public AccraditationRecord selectAccraditationRecordById(Long id);

    /**
     * 查询审批记录列表
     * 
     * @param accraditationRecord 审批记录
     * @return 审批记录集合
     */
    public List<AccraditationRecord> selectAccraditationRecordList(AccraditationRecord accraditationRecord);

    /**
     * 查询审批记录列表
     *
     * @param accraditationRecord 审批记录
     * @return 审批记录集合
     */
    public List<AccraditationRecord> selectAccraditationRecordList1(AccraditationRecord accraditationRecord);

    /**
     * 新增审批记录
     * 
     * @param accraditationRecord 审批记录
     * @return 结果
     */
    public int insertAccraditationRecord(AccraditationRecord accraditationRecord);

    /**
     * 修改审批记录
     * 
     * @param accraditationRecord 审批记录
     * @return 结果
     */
    public int updateAccraditationRecord(AccraditationRecord accraditationRecord);

    /**
     * 删除审批记录
     * 
     * @param id 审批记录主键
     * @return 结果
     */
    public int deleteAccraditationRecordById(Long id);

    /**
     * 批量删除审批记录
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteAccraditationRecordByIds(Long[] ids);

     /**
     * 根据drop_content_id查询整条审批记录
     * @param dropContentId 审批记录外键ID
     * @return 审批记录
     */
    public AccraditationRecord selectByDropContentId(String dropContentId);

     /**
     * 删除审批记录
     *
     * @param checkContentId 审批记录外键ID
     * @return 结果
     */
    public int deleteAccraditationRecordByCheckContentId(Long checkContentId);
}
